home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Visual Basic Source Code
/
Visual Basic Source Code.iso
/
vbsource
/
webmon_1
/
crypto.bas
< prev
next >
Wrap
BASIC Source File
|
1999-07-30
|
2KB
|
62 lines
Attribute VB_Name = "Crypto"
Public ecstr As String
Function Encrypt(instring As String, key1 As Integer, key2 As Integer)
ec1 = Enc1(instring, key1)
ec2 = Enc1(ec1, key2)
Randomize
keycode = Int(Rnd() * 32000)
kchi = Int(keycode / 255)
kclo = keycode - (kchi * 255)
ec3 = Enc1(ec2, keycode)
Encrypt = Chr(kchi) & Chr(kclo) & ec3
Debug.Print (Asc(Left(Encrypt, 1)) * 255) + Asc(Mid(Encrypt, 2, 1))
End Function
Function Enc1(instring, key)
slen = Len(instring)
Rnd (-1)
Randomize (key)
OpStr = ""
For tmp1 = 1 To slen
thiskey = Rnd() * 255
dd = Asc(Mid(instring, tmp1, 1))
dd = dd + thiskey
If dd > 255 Then dd = dd - 255
OpStr = OpStr & Chr(dd)
Next
Enc1 = OpStr
End Function
Function Decrypt(instring As String, key1 As Integer, key2 As Integer)
On Error GoTo e_trap
'first remove the outer key from the string
outerkey = (Asc(Left(instring, 1)) * 255) + Asc(Mid(instring, 2, 1))
codestr = Mid(instring, 3, Len(instring) - 2)
dc1 = dec1(codestr, outerkey)
dc2 = dec1(dc1, key2)
dc3 = dec1(dc2, key1)
Decrypt = dc3
Exit Function
e_trap:
Resume Next
End Function
Function dec1(instring, keycode)
slen = Len(instring)
Rnd (-1)
Randomize (keycode)
OpStr = ""
For tmp1 = 1 To slen
thiskey = Rnd() * 255
dd = Asc(Mid(instring, tmp1, 1))
dd = dd - thiskey
If dd < 0 Then dd = dd + 255
OpStr = OpStr & Chr(dd)
Next
dec1 = OpStr
End Function